package com.hxh.usermanagementsystem;

import android.net.http.SslError;
import android.os.Bundle;
import android.webkit.SslErrorHandler;
import android.webkit.WebChromeClient;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

import androidx.appcompat.app.AppCompatActivity;

import com.hxh.usermanagementsystem.util.ConstVariable;

public class ListActivity extends AppCompatActivity {

    private WebView webView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_list);
        init();
    }

    // 初始化页面组件
    private void init() {
        webView = findViewById(R.id.webview);  // 初始化 webView
        // 启用JavaScript支持
        webView.getSettings().setJavaScriptEnabled(true);
//        // 设置WebView的客户端，用于处理页面加载和其他事件
//        webView.setWebViewClient(new WebViewClient());
        // 创建一个自定义的WebViewClient
        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onReceivedSslError(WebView view, SslErrorHandler handler, SslError error) {
                // 忽略SSL证书验证错误
                handler.proceed();
            }
        });
        // 设置WebView的Chrome客户端，用于处理JavaScript的弹窗、警告等事件
        webView.setWebChromeClient(new WebChromeClient());
        // 获取 WebView 的 WebSettings
        WebSettings webSettings = webView.getSettings();
        // 允许跨域请求
        webSettings.setAllowUniversalAccessFromFileURLs(true);
        webSettings.setAllowFileAccessFromFileURLs(true);
        // 混合内容限制：WebView 默认禁止加载混合内容，即 HTTPS 页面中的 HTTP 请求。
        // 如果 AJAX 请求是通过 HTTP 发送的，而 WebView 正在加载的页面是 HTTPS 的，那么 AJAX 请求将被阻止。
        // 允许加载混合内容
        webSettings.setMixedContentMode(WebSettings.MIXED_CONTENT_ALWAYS_ALLOW);
        // 加载用户管理系统的用户信息展示界面
        webView.loadUrl(ConstVariable.URL_ADDRESS + "list.html");
        webView.evaluateJavascript("javascript:document.getElementById('buttonId').click();", null);
    }

}
